package jishiti;

public class StringTest {
    public static void main(String[] args) {
        String s1 = "abcxxx";
        String s2 = new String("abcxxx");
        String s3 = "abc";
        String s4 = "xxx";
        String s5 = "abc"+"xxx";
        String s6 = s3+s4;
        System.out.println(s1==s2);//false
        System.out.println(s1==s5);//true
        System.out.println(s1 == s6);//false
        System.out.println(s1 == s6.intern());//true
        System.out.println(s2 == s2.intern());//false
        System.out.println(s1.equals(s6.intern()));//true
        System.out.println(s2.equals(s2.intern()));//true
        System.out.println(s1.intern() == s5);//true
        /**
         * intern方法，是当前的字符串对象(通过new出来的对象)可以使用intern方法从常量池中
         * 获取，如果常量池中不存在该字符串，那么就新建一个这样的字符串放在常量池中
         */
    }
}
